<?php

class PaginaDeCurriculo{

	/****************
	 * ATRIBUTOS
	 ***************/

	private $candidato;
	private $endereco;
	private $deficiencias;
	private $escolaridade;
	private $idiomas;
	private $comunicacao;
	private $informatica;
	private $experienciaProfissional;
	private $areaDeInteresse;
	private $atividadesComplementares;

	/****************
	 * CONSTRUTOR
	 ***************/

	public function PaginaDeCurriculo($candidato = null, $endereco = null, $deficiencias = null, $escolaridade = null, $idiomas = null,
	$comunicacao = null, $informatica = null, $experienciaProfissional = null, $areaDeInteresse = null, $atividadesComplementares = null){
		$this->candidato = $candidato;
		$this->endereco = $endereco;
		$this->deficiencias = $deficiencias;
		$this->escolaridade = $escolaridade;
		$this->idiomas = $idiomas;
		$this->comunicacao = $comunicacao;
		$this->informatica = $informatica;
		$this->experienciaProfissional = $experienciaProfissional;
		$this->areaDeInteresse = $areaDeInteresse;
		$this->atividadesComplementares = $atividadesComplementares;

		//Carregando os Dados do Curriculo
		$this->carregarDadosDoFormulario();
	}


	/****************
	 * METODOS
	 ***************/

	public function definirCampoPreenchido($nomeDoCAmpo, $valorDoCampo){
		$this->camposPreenchidos[$nomeDoCAmpo] = $valorDoCampo;
	}

	public function obterCampoPreenchido($nomeDoCampo){
		if(isset($this->camposPreenchidos[$nomeDoCampo])){
			return $this->camposPreenchidos[$nomeDoCampo];
		}
		else{
			return "";
		}
	}

	public function isCampoPreenchido($nomeDoCampo){
		if(isset($this->camposPreenchidos[$nomeDoCampo])){
			return true;
		}
		else{
			return false;
		}
	}


	//Repreencher o formulario em caso de carregamento do formulario, seja pela session ou pelo Banco de Dados
	private function carregarDadosDoFormulario(){
		$this->carregarDadosPessoal();
		$this->carregarDeficiencias();
		$this->carregarEscolaridade();
		$this->carregarIdioma();
		$this->carregarComunicacao();
		$this->carregarInformatica();
		$this->carregarExperienciaProfissional();
		$this->carregarAreaDeInteresse();
		$this->carregarAtividades();
	}

	private function carregarDadosPessoal(){
		$nome = $this->candidato->getNome();
		$email = $this->candidato->getEMail();
		$sexo = $this->candidato->getSexo();
		$estadoCivil = $this->candidato->getEstadoCivil();
		$telefoneResidencial = $this->candidato->getTelefoneResidencial();
		$telefoneCelular = $this->candidato->getTelefoneCelular();
		$outroTelefone = $this->candidato->getOutrosTelefones(); //Campo opcinal
		$rg = $this->candidato->getRg();
		$cpf = $this->candidato->getCpf();		
		$dataDeNascimento = $this->candidato->getDataDeNascimento();
		$idade = DateUtil::calcularIdade($this->candidato->getDataDeNascimento());
		$endereco = $this->endereco->getRua();
		$bairro = $this->endereco->getBairro();
		$cep = $this->endereco->getCep();
		$complemento = $this->endereco->getComplemento();
		$cidade = $this->endereco->getCidade();
		$estado = $this->endereco->getEstado();
		$pais = $this->endereco->getPais();
		
		$this->definirCampoPreenchido("nome", $nome);
		$this->definirCampoPreenchido("email", $email);
		$this->definirCampoPreenchido("dataDeNascimento", $dataDeNascimento);
		$this->definirCampoPreenchido("idade", $idade);
		$this->definirCampoPreenchido("sexo", $sexo);
		$this->definirCampoPreenchido("estadoCivil", $estadoCivil);
		$this->definirCampoPreenchido("telefoneResidencial", $telefoneResidencial);
		$this->definirCampoPreenchido("telefoneCelular", $telefoneCelular);

		$this->definirCampoPreenchido("rg", $rg);
		$this->definirCampoPreenchido("cpf", $cpf);
		$this->definirCampoPreenchido("endereco", $endereco);
		$this->definirCampoPreenchido("bairro", $bairro);
		$this->definirCampoPreenchido("cep", $cep);
		$this->definirCampoPreenchido("complemento", $complemento);
		$this->definirCampoPreenchido("cidade", $cidade);
		$this->definirCampoPreenchido("estado", $estado);
		$this->definirCampoPreenchido("pais", $pais);


		if($outroTelefone != null && $outroTelefone != ""){
			$this->definirCampoPreenchido("outroTelefone", $outroTelefone);
		}
	}


	private function carregarDeficiencias(){


		$deficienciaAuditiva = "";
		$modalidadeDeficienciaAuditiva = "";
		$dificuldadeDevidoDeficienciaAuditiva = "";
		$outraModalidadeDeficienciaAuditiva = "";
		$observacoesDeficienciaAuditiva = "";
		$deficienciaFala = "";
		$modalidadeDeficienciaFala = "";
		$outraModalidadeDeficienciaFala = "";
		$observacoesDeficienciaFala = "";
		$deficienciaFisica = "";
		$modalidadeDeficienciaFisica = "";
		$outraModalidadeDeficienciaFisica = "";
		$observacoesDeficienciaFisica = "";
		$deficienciaVisual = "";
		$modalidadeDeficienciaVisual = "";
		$dificuldadeDevidoDeficienciaVisual = "";
		$outraModalidadeDeficienciaVisual = "";
		$observacoesDeficienciaVisual = "";
		$deficienciaIntelectual = "";
		$dificuldadesOcorridasDeficienciaIntelectual = array();
		$outramodalidadeDeDeficienciaSelecionada = "";
		$outraModalidadeDeficienciaIntelectual = "";
		$observacoesDeficienciaIntelectual = "";


		$tamanhoListaDeficiencia = count($this->deficiencias);
		$deficiencias = $this->deficiencias;

		$tipoDeDeficiencia = "";
		//for($posicao = 0; $posicao < $tamanhoListaDeficiencia; $posicao++){
		foreach ($deficiencias as $deficiencia){
			$deficienciaCorrente = unserialize($deficiencia);
			
			$tipoDeDeficiencia = $deficienciaCorrente->getTipoDeficiencia();

			switch ($tipoDeDeficiencia){
				case "Auditiva":
					$deficienciaAuditiva = $deficienciaCorrente->getTipoDeficiencia();
					$modalidadeDeficienciaAuditiva = $deficienciaCorrente->getModalidadeDaDeficiencia();
					$dificuldadeDevidoDeficienciaAuditiva = $deficienciaCorrente->getDificuldadesDevidoDeficiencia();
					$outraModalidadeDeficienciaAuditiva = $deficienciaCorrente->getOutraModalidadeDeficiencia();
					$observacoesDeficienciaAuditiva = $deficienciaCorrente->getObservacoes();
					break;

				case "Fala":
					$deficienciaFala = $deficienciaCorrente->getTipoDeficiencia();
					$modalidadeDeficienciaFala = $deficienciaCorrente->getModalidadeDaDeficiencia();
					$outraModalidadeDeficienciaFala = $deficienciaCorrente->getOutraModalidadeDeficiencia();
					$observacoesDeficienciaFala = $deficienciaCorrente->getObservacoes();
					break;

				case "Fisica":
					$deficienciaFisica = $deficienciaCorrente->getTipoDeficiencia();
					$modalidadeDeficienciaFisica = $deficienciaCorrente->getModalidadeDaDeficiencia();
					$outraModalidadeDeficienciaFisica = $deficienciaCorrente->getOutraModalidadeDeficiencia();
					$observacoesDeficienciaFisica = $deficienciaCorrente->getObservacoes();
					break;

				case "Visual":
					$deficienciaVisual = $deficienciaCorrente->getTipoDeficiencia();
					$modalidadeDeficienciaVisual = $deficienciaCorrente->getModalidadeDaDeficiencia();
					$dificuldadeDevidoDeficienciaVisual = $deficienciaCorrente->getDificuldadesDevidoDeficiencia();
					$outraModalidadeDeficienciaVisual = $deficienciaCorrente->getOutraModalidadeDeficiencia();
					$observacoesDeficienciaVisual = $deficienciaCorrente->getObservacoes();
					break;

				case "Intelectual":
					$deficienciaIntelectual = $deficienciaCorrente->getTipoDeficiencia();
					
					$dificuldades = $deficienciaCorrente->getDificuldadesDevidoDeficiencia();
					foreach ($dificuldades as $dificuldade){
						$dificuldadesOcorridasDeficienciaIntelectual[] = $dificuldade->getDificuldadeDevidoDevidoDeficiencia();
					}
					
					//$dificuldadesOcorridasDeficienciaIntelectual = $deficienciaCorrente->getDificuldadesDevidoDeficiencia();
					$outraModalidadeDeficienciaIntelectual = $deficienciaCorrente->getOutraModalidadeDeficiencia();
					$outramodalidadeDeDeficienciaSelecionada = "";
					if(isset($outraModalidadeDeficienciaIntelectual) && $outraModalidadeDeficienciaIntelectual != ""){
						$outramodalidadeDeDeficienciaSelecionada = "IntelectualOutra";
					}
					$observacoesDeficienciaIntelectual = $deficienciaCorrente->getObservacoes();
					break;

				default:
					break;
			}

		}

		if($deficienciaAuditiva != null || $deficienciaAuditiva != ""){
			$this->definirCampoPreenchido("deficienciaAuditiva", $deficienciaAuditiva);
		}

		if($modalidadeDeficienciaAuditiva != null || $modalidadeDeficienciaAuditiva != ""){
			$this->definirCampoPreenchido("auditiva", $modalidadeDeficienciaAuditiva);
		}

		if($dificuldadeDevidoDeficienciaAuditiva != null || $dificuldadeDevidoDeficienciaAuditiva != ""){
			$this->definirCampoPreenchido("dificuldadeAuditiva", $dificuldadeDevidoDeficienciaAuditiva);
		}

		if($outraModalidadeDeficienciaAuditiva != null || $outraModalidadeDeficienciaAuditiva != ""){
			$this->definirCampoPreenchido("auditivaOutra", $outraModalidadeDeficienciaAuditiva);
		}

		if($observacoesDeficienciaAuditiva != null || $observacoesDeficienciaAuditiva != ""){
			$this->definirCampoPreenchido("observacaoAuditiva", $observacoesDeficienciaAuditiva);
		}

		if($deficienciaFala != null || $deficienciaFala != ""){
			$this->definirCampoPreenchido("deficienciaFala", $deficienciaFala);
		}

		if($modalidadeDeficienciaFala != null || $modalidadeDeficienciaFala != ""){
			$this->definirCampoPreenchido("modalidadeDeficienciaFala", $modalidadeDeficienciaFala);
		}

		if($outraModalidadeDeficienciaFala != null || $outraModalidadeDeficienciaFala != ""){
			$this->definirCampoPreenchido("falaOutra", $outraModalidadeDeficienciaFala);
		}

		if($observacoesDeficienciaFala != null || $observacoesDeficienciaFala != ""){
			$this->definirCampoPreenchido("observacaoFala", $observacoesDeficienciaFala);
		}

		if($deficienciaFisica != null || $deficienciaFisica != ""){
			$this->definirCampoPreenchido("deficienciaFisica", $deficienciaFisica);
		}

		if($modalidadeDeficienciaFisica != null || $modalidadeDeficienciaFisica != ""){
			$this->definirCampoPreenchido("modalidadeDeficienciaFisica", $modalidadeDeficienciaFisica);
		}

		if($outraModalidadeDeficienciaFisica != null || $outraModalidadeDeficienciaFisica != ""){
			$this->definirCampoPreenchido("fisicaOutra", $outraModalidadeDeficienciaFisica);
		}

		if($observacoesDeficienciaFisica != null || $observacoesDeficienciaFisica != ""){
			$this->definirCampoPreenchido("observacaoFisica", $observacoesDeficienciaFisica);
		}

		if($deficienciaVisual != null || $deficienciaVisual != ""){
			$this->definirCampoPreenchido("deficienciaVisual", $deficienciaVisual);
		}

		if($modalidadeDeficienciaVisual != null || $modalidadeDeficienciaVisual != ""){
			$this->definirCampoPreenchido("modalidadeDeficienciaVisual", $modalidadeDeficienciaVisual);
		}

		if($outraModalidadeDeficienciaVisual != null || $outraModalidadeDeficienciaVisual != ""){
			$this->definirCampoPreenchido("visualOutra", $outraModalidadeDeficienciaVisual);
		}

		if($dificuldadeDevidoDeficienciaVisual != null || $dificuldadeDevidoDeficienciaVisual != ""){
			$this->definirCampoPreenchido("dificuldadeVisual", $dificuldadeDevidoDeficienciaVisual);
		}

		if($observacoesDeficienciaVisual != null || $observacoesDeficienciaVisual != ""){
			$this->definirCampoPreenchido("observacaoVisual", $observacoesDeficienciaVisual);
		}

		if($deficienciaIntelectual != null || $deficienciaIntelectual != ""){
			$this->definirCampoPreenchido("deficienciaIntelectual", $deficienciaIntelectual);
		}

		if($dificuldadesOcorridasDeficienciaIntelectual != null || $dificuldadesOcorridasDeficienciaIntelectual != ""){

			$tamanhoListaDificuldadesIntelectual = count($dificuldadesOcorridasDeficienciaIntelectual);
			$separador = ", ";
			$dificuldadeMental = "";
			if($tamanhoListaDificuldadesIntelectual > 0){
				$dificuldadeMental = $dificuldadesOcorridasDeficienciaIntelectual[0];
			}
			
			for($deficienciaCorrente = 1; $deficienciaCorrente < $tamanhoListaDificuldadesIntelectual; $deficienciaCorrente++){
				/*if($deficienciaCorrente != $tamanhoListaDificuldadesIntelectual - 1){
					$separador = ", ";
					}
					else{
					$separador = "";
					}*/
				$dificuldadeMental = $dificuldadeMental . $separador .  $dificuldadesOcorridasDeficienciaIntelectual[$deficienciaCorrente];
			}


			$this->definirCampoPreenchido("dificuldadesOcorridasDeficienciaIntelectual", $dificuldadeMental);
		}

		if($outramodalidadeDeDeficienciaSelecionada != null || $outramodalidadeDeDeficienciaSelecionada != ""){
			$this->definirCampoPreenchido("deficienciaIntelectualOutra", $outramodalidadeDeDeficienciaSelecionada);
		}

		if($outraModalidadeDeficienciaIntelectual != null || $outraModalidadeDeficienciaIntelectual != ""){
			$this->definirCampoPreenchido("intelectualOutra", $outraModalidadeDeficienciaIntelectual);
		}

		if($observacoesDeficienciaIntelectual != null || $observacoesDeficienciaIntelectual != ""){
			$this->definirCampoPreenchido("observacaoIntelectual", $observacoesDeficienciaIntelectual);
		}
	}


	private function carregarEscolaridade(){

		$escolaridadeEnsinoFundamental = "";
		$grauDeEnsinoFundamental = "";
		$anoDeConclusaoEnsinoFundamental = "";
		$escolaridadeEnsinoMedio = "";
		$tipoDeEnsinoMedio = "";
		$grauDeEnsinoMedioNormal = "";
		$anoDeConclusaoEnsinoMedioNormal = "";
		$grauDeEnsinoMedioProfissionalizante = "";
		$anoDeConclusaoEnsinoMedioProfissionalizante = "";
		$escolaridadeEnsinoSuperior = "";
		$cursoDeEnsinoSuperior = "";
		$instituicaoEnsinoSuperior = "";
		$grauDeEnsinoSuperior = "";
		$anoDeConclusaoEnsinoSuperior = "";
		$escolaridadePosGraduacao = "";
		$nivelDePosGraduacaoEspecializacao = "";
		$cursoDeEspecializacao = "";
		$instituicaoDeEspecializacao = "";
		$grauDePosGraduacaoEspecializacao = "";
		$anoDeConclusaoEspecializacao = "";
		$nivelDePosGraduacaoMestrado = "";
		$cursoDeMestrado = "";
		$instituicaoDeMestrado = "";
		$grauDePosGraduacaoMestrado = "";
		$anoDeConclusaoMestrado = "";
		$nivelDePosGraduacaoDoutorado = "";
		$cursoDeDoutorado = "";
		$instituicaoDeDoutorado = "";
		$grauDePosGraduacaoDoutorado = "";
		$anoDeConclusaoDoutorado = "";
		$camposPreenchidos = array();

		$tamanhoListaEscolaridade = count($this->escolaridade);
			

		$tipoDeEscolaridade = "";

		for($posicao = 0; $posicao < $tamanhoListaEscolaridade; $posicao++){
			$escolaridade = unserialize($this->escolaridade[$posicao]);
			$tipoDeEscolaridade = $escolaridade->getEscolaridade();




			switch ($tipoDeEscolaridade){
				case "Ensino Fundamental":
					$escolaridadeEnsinoFundamental = $escolaridade->getEscolaridade();
					$grauDeEnsinoFundamental = $escolaridade->getGrauDaEscolaridade();
					$anoDeConclusaoEnsinoFundamental = $escolaridade->getAnoDeConclusao();
					break;

				case "Ensino Médio":
					$escolaridadeEnsinoMedio = $escolaridade->getEscolaridade();
					$tipoDeEnsinoMedio = $escolaridade->getTipoDeEnsinoMedio();
					//Define se o tipo de ensino médio cadastrado é normal ou profissionalizante
					if($tipoDeEnsinoMedio == "Normal"){
						$grauDeEnsinoMedioNormal = $escolaridade->getGrauDaEscolaridade();
						$anoDeConclusaoEnsinoMedioNormal = $escolaridade->getAnoDeConclusao();
					}
					else{
						$grauDeEnsinoMedioProfissionalizante = $escolaridade->getGrauDaEscolaridade();
						$anoDeConclusaoEnsinoMedioProfissionalizante = $escolaridade->getAnoDeConclusao();
					}

					break;

				case "Ensino Superior":
					$escolaridadeEnsinoSuperior = $escolaridade->getEscolaridade();
					$instituicaoEnsinoSuperior = $escolaridade->getInstituicao();
					$cursoDeEnsinoSuperior = $escolaridade->getCurso();
					$grauDeEnsinoSuperior = $escolaridade->getGrauDaEscolaridade();
					$anoDeConclusaoEnsinoSuperior = $escolaridade->getAnoDeConclusao();
					break;

				case "Pós-Graduação":
					$escolaridadePosGraduacao = $escolaridade->getEscolaridade();
					$tipoDeEnsino = $escolaridade->getTipoDeEnsinoPosGraduacao();

					if($tipoDeEnsino == "Especialização"){
						$nivelDePosGraduacaoEspecializacao = $escolaridade->getTipoDeEnsinoPosGraduacao();
						$instituicaoDeEspecializacao = $escolaridade->getInstituicao();
						$cursoDeEspecializacao = $escolaridade->getCurso();
						$grauDePosGraduacaoEspecializacao = $escolaridade->getGrauDaEscolaridade();
						$anoDeConclusaoEspecializacao = $escolaridade->getAnoDeConclusao();
					}

					if($tipoDeEnsino == "Mestrado"){
						$nivelDePosGraduacaoMestrado = $escolaridade->getTipoDeEnsinoPosGraduacao();
						$instituicaoDeMestrado = $escolaridade->getInstituicao();
						$cursoDeMestrado = $escolaridade->getCurso();
						$grauDePosGraduacaoMestrado = $escolaridade->getGrauDaEscolaridade();
						$anoDeConclusaoMestrado = $escolaridade->getAnoDeConclusao();
					}

					if($tipoDeEnsino == "Doutorado"){
						$nivelDePosGraduacaoDoutorado = $escolaridade->getTipoDeEnsinoPosGraduacao();
						$instituicaoDeDoutorado = $escolaridade->getInstituicao();
						$cursoDeDoutorado = $escolaridade->getCurso();
						$grauDePosGraduacaoDoutorado = $escolaridade->getGrauDaEscolaridade();
						$anoDeConclusaoDoutorado = $escolaridade->getAnoDeConclusao();
					}

					break;

				default:
					break;
			}
		}




		if($escolaridadeEnsinoFundamental != null || $escolaridadeEnsinoFundamental != ""){
			$this->definirCampoPreenchido("escolaridadeEnsinoFundamental", $escolaridadeEnsinoFundamental);
		}

		if($grauDeEnsinoFundamental != null || $grauDeEnsinoFundamental != ""){
			$this->definirCampoPreenchido("grauDeEnsinoFundamental", $grauDeEnsinoFundamental);
		}

		if($anoDeConclusaoEnsinoFundamental != null || $anoDeConclusaoEnsinoFundamental != ""){
			$this->definirCampoPreenchido("anoDeConclusaoEnsinoFundamental", $anoDeConclusaoEnsinoFundamental);
		}

		if($escolaridadeEnsinoMedio != null || $escolaridadeEnsinoMedio != ""){
			$this->definirCampoPreenchido("escolaridadeEnsinoMedio", $escolaridadeEnsinoMedio);
		}

		if($tipoDeEnsinoMedio != null || $tipoDeEnsinoMedio != ""){
			$this->definirCampoPreenchido("tipoDeEnsinoMedio", $tipoDeEnsinoMedio);
		}

		if($grauDeEnsinoMedioNormal != null || $grauDeEnsinoMedioNormal != ""){
			$this->definirCampoPreenchido("grauDeEnsinoMedioNormal", $grauDeEnsinoMedioNormal);
		}

		if($anoDeConclusaoEnsinoMedioNormal != null || $anoDeConclusaoEnsinoMedioNormal != ""){
			$this->definirCampoPreenchido("anoDeConclusaoEnsinoMedioNormal", $anoDeConclusaoEnsinoMedioNormal);
		}

		if($grauDeEnsinoMedioProfissionalizante != null || $grauDeEnsinoMedioProfissionalizante != ""){
			$this->definirCampoPreenchido("grauDeEnsinoMedioProfissionalizante", $grauDeEnsinoMedioProfissionalizante);
		}

		if($anoDeConclusaoEnsinoMedioProfissionalizante != null || $anoDeConclusaoEnsinoMedioProfissionalizante != ""){
			$this->definirCampoPreenchido("anoDeConclusaoEnsinoMedioProfissionalizante", $anoDeConclusaoEnsinoMedioProfissionalizante);
		}

		if($escolaridadeEnsinoSuperior != null || $escolaridadeEnsinoSuperior != ""){
			$this->definirCampoPreenchido("escolaridadeEnsinoSuperior", $escolaridadeEnsinoSuperior);
		}

		if($cursoDeEnsinoSuperior != null || $cursoDeEnsinoSuperior != ""){
			$this->definirCampoPreenchido("cursoDeEnsinoSuperior", $cursoDeEnsinoSuperior);
		}

		if($instituicaoEnsinoSuperior != null || $instituicaoEnsinoSuperior != ""){
			$this->definirCampoPreenchido("instituicaoEnsinoSuperior", $instituicaoEnsinoSuperior);
		}

		if($grauDeEnsinoSuperior != null || $grauDeEnsinoSuperior != ""){
			$this->definirCampoPreenchido("grauDeEnsinoSuperior", $grauDeEnsinoSuperior);
		}

		if($anoDeConclusaoEnsinoSuperior != null || $anoDeConclusaoEnsinoSuperior != ""){
			$this->definirCampoPreenchido("anoDeConclusaoEnsinoSuperior", $anoDeConclusaoEnsinoSuperior);
		}

		if($escolaridadePosGraduacao != null || $escolaridadePosGraduacao != ""){
			$this->definirCampoPreenchido("escolaridadePosGraduacao", $escolaridadePosGraduacao);
		}

		if($nivelDePosGraduacaoEspecializacao != null || $nivelDePosGraduacaoEspecializacao != ""){
			$this->definirCampoPreenchido("nivelDePosGraduacaoEspecializacao", $nivelDePosGraduacaoEspecializacao);
		}

		if($cursoDeEspecializacao != null || $cursoDeEspecializacao != ""){
			$this->definirCampoPreenchido("cursoDeEspecializacao", $cursoDeEspecializacao);
		}

		if($instituicaoDeEspecializacao != null || $instituicaoDeEspecializacao != ""){
			$this->definirCampoPreenchido("instituicaoDeEspecializacao", $instituicaoDeEspecializacao);
		}

		if($grauDePosGraduacaoEspecializacao != null || $grauDePosGraduacaoEspecializacao != ""){
			$this->definirCampoPreenchido("grauDePosGraduacaoEspecializacao", $grauDePosGraduacaoEspecializacao);
		}

		if($anoDeConclusaoEspecializacao != null || $anoDeConclusaoEspecializacao != ""){
			$this->definirCampoPreenchido("anoDeConclusaoEspecializacao", $anoDeConclusaoEspecializacao);
		}

		if($nivelDePosGraduacaoMestrado != null || $nivelDePosGraduacaoMestrado != ""){
			$this->definirCampoPreenchido("nivelDePosGraduacaoMestrado", $nivelDePosGraduacaoMestrado);
		}

		if($cursoDeMestrado != null || $cursoDeMestrado != ""){
			$this->definirCampoPreenchido("cursoDeMestrado", $cursoDeMestrado);
		}

		if($instituicaoDeMestrado != null || $instituicaoDeMestrado != ""){
			$this->definirCampoPreenchido("instituicaoDeMestrado", $instituicaoDeMestrado);
		}

		if($grauDePosGraduacaoMestrado != null || $grauDePosGraduacaoMestrado != ""){
			$this->definirCampoPreenchido("grauDePosGraduacaoMestrado", $grauDePosGraduacaoMestrado);
		}

		if($anoDeConclusaoMestrado != null || $anoDeConclusaoMestrado != ""){
			$this->definirCampoPreenchido("anoDeConclusaoMestrado", $anoDeConclusaoMestrado);
		}

		if($nivelDePosGraduacaoDoutorado != null || $nivelDePosGraduacaoDoutorado != ""){
			$this->definirCampoPreenchido("nivelDePosGraduacaoDoutorado", $nivelDePosGraduacaoDoutorado);
		}

		if($cursoDeDoutorado != null || $cursoDeDoutorado != ""){
			$this->definirCampoPreenchido("cursoDeDoutorado", $cursoDeDoutorado);
		}

		if($instituicaoDeDoutorado != null || $instituicaoDeDoutorado != ""){
			$this->definirCampoPreenchido("instituicaoDeDoutorado", $instituicaoDeDoutorado);
		}

		if($grauDePosGraduacaoDoutorado != null || $grauDePosGraduacaoDoutorado != ""){
			$this->definirCampoPreenchido("grauDePosGraduacaoDoutorado", $grauDePosGraduacaoDoutorado);
		}

		if($anoDeConclusaoDoutorado != null || $anoDeConclusaoDoutorado != ""){
			$this->definirCampoPreenchido("anoDeConclusaoDoutorado", $anoDeConclusaoDoutorado);
		}

	}


	public function carregarIdioma(){

		$tamanhoListaIdioma = count($this->idiomas);
		$portuguesLe = "";
		$portuguesEscreve = "";
		$portuguesFala = "";
		$portuguesEntende = "";
		$ingles = "";
		$inglesLe = "";
		$inglesEscreve = "";
		$inglesFala = "";
		$inglesEntende = "";
		$espanhol = "";
		$espanholLe = "";
		$espanholEscreve = "";
		$espanholFala = "";
		$espanholEntende = "";
		$outrosIdiomas = "";
		$outrosIdiomasNome = "";
		$outrosLe = "";
		$outrosEscreve = "";
		$outrosFala = "";
		$outrosEntende = "";
		$camposPreenchidos = "";


		$tipoDeIdioma = "";
		for($posicao = 0; $posicao < $tamanhoListaIdioma; $posicao++){
			$idioma = unserialize($this->idiomas[$posicao]);
			$tipoDeIdioma = $idioma->getNomeDoIdioma();

			switch ($tipoDeIdioma){
				case "Português":
					$portuguesLe = $idioma->getLe();
					$portuguesEscreve = $idioma->getEscreve();
					$portuguesFala = $idioma->getFala();
					$portuguesEntende = $idioma->getEntende();
					break;

				case "Inglês":
					$ingles = $idioma->getNomeDoIdioma();
					$inglesLe = $idioma->getLe();
					$inglesEscreve = $idioma->getEscreve();
					$inglesFala = $idioma->getFala();
					$inglesEntende = $idioma->getEntende();
					break;

				case "Espanhol":
					$espanhol = $idioma->getNomeDoIdioma();
					$espanholLe = $idioma->getLe();
					$espanholEscreve = $idioma->getEscreve();
					$espanholFala = $idioma->getFala();
					$espanholEntende = $idioma->getEntende();
					break;
				default:
					if($idioma->getLe() != ""){
						$outrosIdiomas = "OutrosIdiomas";
						$outrosIdiomasNome = $idioma->getNomeDoIdioma();
						$outrosLe = $idioma->getLe();
						$outrosEscreve = $idioma->getEscreve();
						$outrosFala = $idioma->getFala();
						$outrosEntende = $idioma->getEntende();
					}

					break;
			}

		}



		if($portuguesLe != null || $portuguesLe != ""){
			$this->definirCampoPreenchido("portuguesLe", $portuguesLe);
		}

		if($portuguesEscreve != null || $portuguesEscreve != ""){
			$this->definirCampoPreenchido("portuguesEscreve", $portuguesEscreve);
		}

		if($portuguesFala != null || $portuguesFala != ""){
			$this->definirCampoPreenchido("portuguesFala", $portuguesFala);
		}

		if($portuguesEntende != null || $portuguesEntende != ""){
			$this->definirCampoPreenchido("portuguesEntende", $portuguesEntende);
		}

		if($ingles != null || $ingles != ""){
			$this->definirCampoPreenchido("ingles", $ingles);
		}

		if($inglesLe != null || $inglesLe != ""){
			$this->definirCampoPreenchido("inglesLe", $inglesLe);
		}

		if($inglesEscreve != null || $inglesEscreve != ""){
			$this->definirCampoPreenchido("inglesEscreve", $inglesEscreve);
		}

		if($inglesFala != null || $inglesFala != ""){
			$this->definirCampoPreenchido("inglesFala", $inglesFala);
		}

		if($inglesEntende != null || $inglesEntende != ""){
			$this->definirCampoPreenchido("inglesEntende", $inglesEntende);
		}

		if($espanhol != null || $espanhol != ""){
			$this->definirCampoPreenchido("espanhol", $espanhol);
		}

		if($espanholLe != null || $espanholLe != ""){
			$this->definirCampoPreenchido("espanholLe", $espanholLe);
		}

		if($espanholEscreve != null || $espanholEscreve != ""){
			$this->definirCampoPreenchido("espanholEscreve", $espanholEscreve);
		}

		if($espanholFala != null || $espanholFala != ""){
			$this->definirCampoPreenchido("espanholFala", $espanholFala);
		}

		if($espanholEntende != null || $espanholEntende != ""){
			$this->definirCampoPreenchido("espanholEntende", $espanholEntende);
		}

		if($outrosIdiomas != null || $outrosIdiomas != ""){
			$this->definirCampoPreenchido("outrosIdiomas", $outrosIdiomas);
		}

		if($outrosIdiomasNome != null || $outrosIdiomasNome != ""){
			$this->definirCampoPreenchido("outrosIdiomasNome", $outrosIdiomasNome);
		}

		if($outrosLe != null || $outrosLe != ""){
			$this->definirCampoPreenchido("outrosLe", $outrosLe);
		}

		if($outrosEscreve != null || $outrosEscreve != ""){
			$this->definirCampoPreenchido("outrosEscreve", $outrosEscreve);
		}

		if($outrosFala != null || $outrosFala != ""){
			$this->definirCampoPreenchido("outrosFala", $outrosFala);
		}

		if($outrosEntende != null || $outrosEntende != ""){
			$this->definirCampoPreenchido("outrosEntende", $outrosEntende);
		}


	}


	public function carregarComunicacao(){

		$braile = "";
		$libras = "";
		$outraComunicacaoCheck = "";
		$outraComunicacaoNome = "";
		$tamanhoListaComunicacoes = count($this->comunicacao);
		$separador = ", ";
		$comunicacao = null;
		$meioDeComunicacao = "";
		$comunicacoes = "";
		if($tamanhoListaComunicacoes > 0){
			$comunicacao = unserialize($this->comunicacao[0]);
			$meioDeComunicacao = $comunicacao->getMeioDeComunicacao();
			$comunicacoes = $meioDeComunicacao;
		}

		for($posicao = 1; $posicao < $tamanhoListaComunicacoes; $posicao++ ){
			$comunicacao = unserialize($this->comunicacao[$posicao]);
			$meioDeComunicacao = $comunicacao->getMeioDeComunicacao();
				
			$comunicacoes = $comunicacoes . $separador . $meioDeComunicacao;
				
			switch($meioDeComunicacao){

				case "Braile":
					$braile = $comunicacao->getMeioDeComunicacao();
					break;

				case "Libras":
					$libras = $comunicacao->getMeioDeComunicacao();
					break;

				default:
					if($comunicacao->getMeioDeComunicacao() != "" && $comunicacao->getMeioDeComunicacao() != null){
						$outraComunicacaoCheck = "outraComunicacaoCheck";
						$outraComunicacaoNome = $comunicacao->getMeioDeComunicacao();
					}
					break;
			}

		}

		if($comunicacoes != null && $comunicacoes != ""){
			$this->definirCampoPreenchido("comunicacoes", $comunicacoes);
		}


		if($braile != null || $braile != ""){
			$this->definirCampoPreenchido("braile", $braile);
		}

		if($libras != null || $libras != ""){
			$this->definirCampoPreenchido("libras", $libras);
		}

		if($outraComunicacaoCheck != null || $outraComunicacaoCheck != ""){
			$this->definirCampoPreenchido("outraComunicacaoCheck", $outraComunicacaoCheck);
		}

		if($outraComunicacaoNome != null || $outraComunicacaoNome != ""){
			$this->definirCampoPreenchido("outraComunicacaoNome", $outraComunicacaoNome);
		}
	}


	private function carregarInformatica(){

		$nivelConhecimentoWord = "";
		$nivelConhecimentoExcel = "";
		$nivelConhecimentoPowerPoint = "";
		$nivelConhecimentoInternet = "";
		$checkOutroConhecimento = "";
		$nomeOutroConhecimento = "";
		$nivelConhecimentoOutro = "";

		$tamanhoListaInformatica = count($this->informatica);

		$tipoDeInformatica = "";
		$informatica = unserialize($this->informatica[0]);

		for($posicao = 0; $posicao < $tamanhoListaInformatica; $posicao++){
			$informatica = unserialize($this->informatica[$posicao]);
			$tipoDeInformatica = $informatica->getConhecimentoEmInformatica();
				

			switch ($tipoDeInformatica){
				case "Word":
					$nivelConhecimentoWord = $informatica->getNivelDoConhecimento();
					break;

				case "Power Point":
					$nivelConhecimentoPowerPoint = $informatica->getNivelDoConhecimento();
					break;

				case "Excel":
					$nivelConhecimentoExcel = $informatica->getNivelDoConhecimento();
					break;

				case "Internet":
					$nivelConhecimentoInternet = $informatica->getNivelDoConhecimento();
					break;

				default:

					if($informatica->getConhecimentoEmInformatica() != "" || $informatica->getConhecimentoEmInformatica() != null){
						$checkOutroConhecimento = "checkOutroConhecimento";
						$nomeOutroConhecimento = $informatica->getConhecimentoEmInformatica();
						$nivelConhecimentoOutro = $informatica->getNivelDoConhecimento();
					}
					break;
			}

		}

		if($nivelConhecimentoWord != null && $nivelConhecimentoWord != ""){
			$this->definirCampoPreenchido("nivelConhecimentoWord", $nivelConhecimentoWord);
		}

		if($nivelConhecimentoExcel != null && $nivelConhecimentoExcel != ""){
			$this->definirCampoPreenchido("nivelConhecimentoExcel", $nivelConhecimentoExcel);
		}

		if($nivelConhecimentoPowerPoint != null && $nivelConhecimentoPowerPoint != ""){
			$this->definirCampoPreenchido("nivelConhecimentoPowerPoint", $nivelConhecimentoPowerPoint);
		}

		if($nivelConhecimentoInternet != null && $nivelConhecimentoInternet != ""){
			$this->definirCampoPreenchido("nivelConhecimentoInternet", $nivelConhecimentoInternet);
		}


		if($checkOutroConhecimento != null && $checkOutroConhecimento != ""){
			$this->definirCampoPreenchido("checkOutroConhecimento", $checkOutroConhecimento);
		}

		if($nomeOutroConhecimento != null && $nomeOutroConhecimento != ""){
			$this->definirCampoPreenchido("nomeOutroConhecimento", trim($nomeOutroConhecimento));
		}

		if($nivelConhecimentoOutro != null && $nivelConhecimentoOutro != ""){
			$this->definirCampoPreenchido("nivelConhecimentoOutro", $nivelConhecimentoOutro);
		}
	}

	private function carregarExperienciaProfissional(){
		$empresas = null;

		if(isset($this->experienciaProfissional)){
			$empresas = $this->experienciaProfissional->getEmpresas();
			$quantidadeDeEmpresas = count($empresas);
			$possuiExperiencia = $this->experienciaProfissional->getPossuiExperiencia();
			if($possuiExperiencia != null || $possuiExperiencia != ""){
				$this->definirCampoPreenchido("possueExperiencia", $possuiExperiencia);
			}

			$nomeDaEmpresa = "";
			$cargo = "";
			$observacao = "";
			$periodoMesInicio = "";
			$periodoAnoInicio = "";
			$periodoMesFim = "";
			$periodoAnoFim = "";
			$periodoInicio = "";
			$periodoFinal = "";

			for($indiceEmpresa = 0; $indiceEmpresa < $quantidadeDeEmpresas; $indiceEmpresa++){
				$empresa = $empresas[$indiceEmpresa];
				$nomeDaEmpresa = $empresa->getNomeEmpresa();
				$cargo = $empresa->getCargo();
				$observacao = $empresa->getObservacao();
				$periodoInicio = $empresa->getPeriodoInicio();
				$periodoFinal = $empresa->getPeriodoFinal();

				/*$periodoMesInicio = DateUtil::obterMesDeData($periodoInicio);
				 $periodoAnoInicio = DateUtil::obterAnoDeData($periodoInicio);
				 $periodoMesFim = DateUtil::obterMesDeData($periodoFinal);
				 $periodoAnoFim = DateUtil::obterAnoDeData($periodoFinal);*/

				if($nomeDaEmpresa != null || $nomeDaEmpresa != ""){
					$this->definirCampoPreenchido("empresa".$indiceEmpresa, $nomeDaEmpresa);
				}
				if($cargo != null || $cargo != ""){
					$this->definirCampoPreenchido("cargo".$indiceEmpresa, $cargo);
				}
				if($observacao != null || $observacao != ""){
					$this->definirCampoPreenchido("observacao".$indiceEmpresa, $observacao);
				}
				if($periodoInicio != null || $periodoInicio != ""){
					$this->definirCampoPreenchido("periodoInicio".$indiceEmpresa, $periodoInicio);
				}
				/*if($periodoAnoInicio != null || $periodoAnoInicio != ""){
				 $this->definirCampoPreenchido("periodo".$indiceEmpresa."AnoInicio", $periodoAnoInicio);
				 }
				 if($periodoMesFim != null || $periodoMesFim != ""){
				 $this->definirCampoPreenchido("periodo".$indiceEmpresa."MesFim", $periodoMesFim);
				 }*/
				if($periodoFinal != null || $periodoFinal != ""){
					$this->definirCampoPreenchido("periodoFinal".$indiceEmpresa, $periodoFinal);
				}
					
				$nomeDaEmpresa = "";
				$cargo = "";
				$observacao = "";
				$periodoMesInicio = "";
				$periodoAnoInicio = "";
				$periodoMesFim = "";
				$periodoAnoFim = "";
				$periodoInicio = "";
				$periodoFinal = "";
			}
		}
	}
	
	
	private function carregarAreaDeInteresse(){
		$areaDeInteresse = $this->areaDeInteresse;
		if($areaDeInteresse != null || $areaDeInteresse != ""){
	 		$this->definirCampoPreenchido("areaDeInteresse", $areaDeInteresse);
	 	}
	}
	
	private function carregarAtividades(){

		$palestras = $this->atividadesComplementares->getPalestras();
		$cursos = $this->atividadesComplementares->getCursos();
		$voluntariados = $this->atividadesComplementares->getVoluntariados();
		$outros = $this->atividadesComplementares->getAtividadesComplementares();
		$informacoesComplementares = $this->atividadesComplementares->getInformacoesComplementares();

		$quantidadeDePalestras = count($palestras);
		$quantidadeDeCursos = count($cursos);
		$quantidadeDeVoluntariados = count($voluntariados);
		$quantidadeDeAtividadesOutras = count($outros);

		$palestra = "";
		for($indiceAtividade = 0; $indiceAtividade < $quantidadeDePalestras; $indiceAtividade++){
			$palestra = $palestras[$indiceAtividade];
				
			if($palestra!= null && $palestra->getTituloPalestra() != ""){
				$this->definirCampoPreenchido("palestra" . ($indiceAtividade + 1), $palestra->getTituloPalestra());
			}
		}
		$curso = "";
		for($indiceAtividade = 0; $indiceAtividade < $quantidadeDeCursos; $indiceAtividade++){
			$curso = $cursos[$indiceAtividade];
				
			if($curso!= null && $curso->getNomeDoCurso() != ""){
				$this->definirCampoPreenchido("curso" . ($indiceAtividade + 1), $curso->getNomeDoCurso());
			}
		}
		
		$voluntariado = "";
		for($indiceAtividade = 0; $indiceAtividade < $quantidadeDeVoluntariados; $indiceAtividade++){
			$voluntariado = $voluntariados[$indiceAtividade];
				
			if($voluntariado!= null && $voluntariado->getNomeDaFuncao() != ""){
				$this->definirCampoPreenchido("voluntariado" . ($indiceAtividade + 1), $voluntariado->getNomeDaFuncao());
			}
		}
		
		$outro = "";
		for($indiceAtividade = 0; $indiceAtividade < $quantidadeDeAtividadesOutras; $indiceAtividade++){
			$outro = $outros[$indiceAtividade];
				
			if($outro!= null && $outro->getNomeDaAtividade() != ""){
				$this->definirCampoPreenchido("outro" . ($indiceAtividade + 1), $outro->getNomeDaAtividade());
			}
		}
		
		if($informacoesComplementares != null && $informacoesComplementares != ""){
			$this->definirCampoPreenchido("informacoesComplementares", $informacoesComplementares);
		}
		
	}

	/******************
	 * GETTERS/SETTERS
	 *****************/

}

?>